import request from '@/config/axios'

// 投诉信息 VO
export interface ReportingVO {
  id: string // ID
  isAnonymity: number // 是否匿名(0实名举报,1匿名举报)
  userId: string // 举报人id(实名匿名都要获取到)
  reportName: string // 举报人姓名
  reportIdentityCard: string // 举报人身份证号
  reportAddress: string // 举报人居住地
  reportTel: string // 举报人联系方式
  beReportedName: string // 被举报人姓名
  beReportedUnit: string // 被举报人单位
  beReportedOffice: string // 被举报人职务
  beReportedLevel: string // 被举报人级别
  title: string // 标题
  category: string // 举报类别(0涉黑涉恶线索1涉法涉诉线索2干警违纪违法线索3反邪教组织线索)
  categoryDetail: string // 举报类别详情
  content: string // 详细内容
  fileId: string // 文件id
  acceptSituation: string // 受理情况(0重复举报,1已受理,2已办结,3不予受理)
  clueSituation: string // 线索情况(0有效线索.1无效线索)
  illustrate: string // 受理情况说明
  remark: string // 备注
  create: string // 创建者
  isSee: string // 是否查看
  state: string // 状态
  stateOne: string // 状态1
  stateTwo: string // 状态2
  staeThree: string // 状态3
  stateFour: string // 状态4
  stateFive: string // 状态5
}

// 投诉信息 API
export const ReportingApi = {
  // 查询投诉信息分页
  getReportingPage: async (params: any) => {
    return await request.get({ url: `/system/reporting/page`, params })
  },

  getListreporting: async (category: number) => {
    return await request.get({ url: `/system/reporting/getListreporting?category=` + category })
  },
  
  // 查询投诉信息详情
  getReporting: async (id: number) => {
    return await request.get({ url: `/system/reporting/get?id=` + id })
  },

  // 新增投诉信息
  createReporting: async (data: ReportingVO) => {
    return await request.post({ url: `/system/reporting/create`, data })
  },

  // 修改投诉信息
  updateReporting: async (data: ReportingVO) => {
    return await request.put({ url: `/system/reporting/update`, data })
  },

  // 删除投诉信息
  deleteReporting: async (id: number) => {
    return await request.delete({ url: `/system/reporting/delete?id=` + id })
  },

  // 导出投诉信息 Excel
  exportReporting: async (params) => {
    return await request.download({ url: `/system/reporting/export-excel`, params })
  },

// ==================== 子表（投诉文件） ====================

  // 获得投诉文件列表
  getReportingFileListByReportingId: async (reportingId) => {
    return await request.get({ url: `/system/reporting/reporting-file/list-by-reporting-id?reportingId=` + reportingId })
  },
}
